const express = require('express');
const router = express.Router();
const User = require('../models/User');

// 用户注册
router.post('/register', async (req, res) => {
    try {
        const { username, password } = req.body;
        
        // 检查用户名是否已存在
        const existingUser = await User.findOne({ username });
        if (existingUser) {
            return res.status(400).json({ error: '用户名已存在' });
        }
        
        // 创建新用户
        const user = new User({
            username,
            password, // 实际应用中应该对密码进行加密
            status: 'offline'
        });
        await user.save();
        
        res.json({ 
            success: true,
            user: user.toJSON()
        });
    } catch (error) {
        console.error('注册错误:', error);
        res.status(500).json({ error: '注册失败' });
    }
});

// 用户登录
router.post('/login', async (req, res) => {
    try {
        const { username, password } = req.body;
        
        // 查找用户
        const user = await User.findOne({ username });
        if (!user) {
            return res.status(401).json({ error: '用户名或密码错误' });
        }
        
        // 验证密码
        if (user.password !== password) { // 实际应用中应该比较加密后的密码
            return res.status(401).json({ error: '用户名或密码错误' });
        }
        
        // 更新用户状态
        user.status = 'online';
        user.lastSeen = new Date();
        await user.save();
        
        res.json({ 
            success: true,
            user: user.toJSON()
        });
    } catch (error) {
        console.error('登录错误:', error);
        res.status(500).json({ error: '登录失败' });
    }
});

module.exports = router; 